import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '../components/Login.vue'
import Home from '../components/home.vue'
import Welcome from '../components/welcome.vue'
import Users from '../components/user/users.vue'
import Rights from '../components/power/rights.vue'
import Roles from '../components/power/roles.vue'
import Cate from '../components/goods/Cate.vue'
import Params from '../components/goods/Params.vue'
import List from '../components/goods/List.vue'
import Add from '../components/goods/add.vue'
import Order from '../components/order/Order.vue'
// import { from } from 'core-js/fn/array'
Vue.use(VueRouter)

const routes = [
 

  {
    path:'/',redirect:'/login'
  },
{
  path:'/login',component:Login
},
{
  path:'/home',component:Home,
  redirect:'welcome',
  children:[
    {path:'/welcome',component:Welcome},
    {path:'/users',component:Users},
    {path:'/rights',component:Rights},
    {path:'/roles',component:Roles},
    {path:'/categories',component:Cate},
    {path:'/params',component:Params},
    {path:'/goods',component:List},
    {path:'/goods/add',component:Add},
    {path:'/orders',component:Order}

  ]
}

]

const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (location) {
  return originalPush.call(this, location).catch(err => err)
}
const router = new VueRouter({
  mode: "history",
  base: process.env.VUE_APP_SRC, 
  routes
})

router.beforeEach((to,from,next)=>{
  if(to.path==='/login') return next();
  const tokenstr = window.sessionStorage.getItem('token')
  if(!tokenstr) return next('/login')
  next()
})
export default router
